package hcn.mch.response;

import lombok.ToString;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import java.util.Date;
import java.util.List;

/**
 * @description: 查询妇幼建档信息
 * @author: zangsf
 * @create: 2022-07-15 16:25
 **/
@ToString
@XmlRootElement(name = "Data")
public class GetGravidityFromMcsVO {

    private List<McsInfo> records;

    @XmlElementWrapper(name = "Records")
    @XmlElement(name = "Record")
    public List<McsInfo> getRecords() {
        return records;
    }

    public void setRecords(List<McsInfo> records) {
        this.records = records;
    }

    @ToString
    public static class McsInfo {
        private String mId;

        /**
         * 妇幼系统档案ID
         */
        private String motherId;
        /**
         * 妇幼系统手机号
         */
        private String patientPhone;
        /**
         * 妇幼系统姓名
         */
        private String patientName;
        /**
         * 证件类型
         */
        private String idCardCode;
        /**
         * 证号号码
         */
        private String idCard;
        /**
         * 孕次
         */
        private String gravidity;
        /**
         * 产次
         */
        private String parity;
        /**
         * 建册孕周
         */
        private String gestWeeks;
        /**
         * 建册孕天
         */
        private String gestDays;
        /**
         * 胎数
         */
        private String gravidityNum;
        /**
         * 预产期
         */
        private Date expectedDate;
        /**
         * 末次月经
         */
        private Date lmp;
        /**
         * 分娩方式
         */
        private String deliveryMethod;
        /**
         * 分娩机构编码
         */
        private String visitOrgCode;
        /**
         * 分娩时间
         */
        private Date checkTime;
        /**
         * 建档时间
         */
        private Date systemTime;
        /**
         * 是否高危
         */
        private String isHighRisk;
        /**
         * 户籍地址全称
         */
        private String address;
        /**
         * 户籍地址-省（自治区、直辖市）
         */
        private String province;
        /**
         * 户籍地址-市（地区、州）
         */
        private String city;
        /**
         * 户籍地址-县（区）
         */
        private String county;
        /**
         * 户籍地址-乡（镇、街道办事处）
         */
        private String town;
        /**
         * 户籍地址-村（街、路、弄等）
         */
        private String village;
        /**
         * 户籍地址-门牌号码
         */
        private String houseNumber;
        /**
         * 当前状态
         */
        private String gravidityStatus;
        /**
         *  喂养方式
         */
        private String feedingMode;
        //母亲居住地
        private String motherHomeAddressCode;
        //母亲出生日期
        private String motherBirthDateTime;
        //父亲户籍所在地
        private String fatherLocationCode;
        //父亲现居住地地址
        private String fatherHomeAddressCode;

        private String syncStatus;//0未同步1已同步（已建档） 2跳过同步（已建档）

        /**
         *  儿童集合
         */

        private List<Children> childrenList;
        @XmlElement(name = "MId")
        public String getmId() {
            return mId;
        }
        public void setmId(String mId) {
            this.mId = mId;
        }

        @XmlElement(name = "MotherId")
        public String getMotherId() {
            return motherId;
        }

        public void setMotherId(String motherId) {
            this.motherId = motherId;
        }

        @XmlElement(name = "PatientPhone")
        public String getPatientPhone() {
            return patientPhone;
        }

        public void setPatientPhone(String patientPhone) {
            this.patientPhone = patientPhone;
        }

        @XmlElement(name = "PatientName")
        public String getPatientName() {
            return patientName;
        }

        public void setPatientName(String patientName) {
            this.patientName = patientName;
        }

        @XmlElement(name = "IdCardCode")
        public String getIdCardCode() {
            return idCardCode;
        }

        public void setIdCardCode(String idCardCode) {
            this.idCardCode = idCardCode;
        }

        @XmlElement(name = "IdCard")
        public String getIdCard() {
            return idCard;
        }

        public void setIdCard(String idCard) {
            this.idCard = idCard;
        }

        @XmlElement(name = "Gravidity")
        public String getGravidity() {
            return gravidity;
        }
        public void setGravidity(String gravidity) {
            this.gravidity = gravidity;
        }
        @XmlElement(name = "Parity")
        public String getParity() {
            return parity;
        }

        public void setParity(String parity) {
            this.parity = parity;
        }
        @XmlElement(name = "GestWeeks")
        public String getGestWeeks() {
            return gestWeeks;
        }

        public void setGestWeeks(String gestWeeks) {
            this.gestWeeks = gestWeeks;
        }
        @XmlElement(name = "GestDays")
        public String getGestDays() {
            return gestDays;
        }

        public void setGestDays(String gestDays) {
            this.gestDays = gestDays;
        }
        @XmlElement(name = "GravidityNum")
        public String getGravidityNum() {
            return gravidityNum;
        }

        public void setGravidityNum(String gravidityNum) {
            this.gravidityNum = gravidityNum;
        }
        @XmlElement(name = "ExpectedDate")
        public Date getExpectedDate() {
            return expectedDate;
        }

        public void setExpectedDate(Date expectedDate) {
            this.expectedDate = expectedDate;
        }
        @XmlElement(name = "Lmp")
        public Date getLmp() {
            return lmp;
        }

        public void setLmp(Date lmp) {
            this.lmp = lmp;
        }
        @XmlElement(name = "DeliveryMethod")
        public String getDeliveryMethod() {
            return deliveryMethod;
        }

        public void setDeliveryMethod(String deliveryMethod) {
            this.deliveryMethod = deliveryMethod;
        }
        @XmlElement(name = "VisitOrgCode")
        public String getVisitOrgCode() {
            return visitOrgCode;
        }
        public void setVisitOrgCode(String visitOrgCode) {
            this.visitOrgCode = visitOrgCode;
        }
        @XmlElement(name = "CheckTime")
        public Date getCheckTime() {
            return checkTime;
        }

        public void setCheckTime(Date checkTime) {
            this.checkTime = checkTime;
        }
        @XmlElement(name = "SystemTime")
        public Date getSystemTime() {
            return systemTime;
        }

        public void setSystemTime(Date systemTime) {
            this.systemTime = systemTime;
        }
        @XmlElement(name = "IsHighRisk")
        public String getIsHighRisk() {
            return isHighRisk;
        }

        public void setIsHighRisk(String isHighRisk) {
            this.isHighRisk = isHighRisk;
        }
        @XmlElement(name = "Address")
        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }
        @XmlElement(name = "Province")
        public String getProvince() {
            return province;
        }

        public void setProvince(String province) {
            this.province = province;
        }
        @XmlElement(name = "City")
        public String getCity() {
            return city;
        }

        public void setCity(String city) {
            this.city = city;
        }
        @XmlElement(name = "County")
        public String getCounty() {
            return county;
        }

        public void setCounty(String county) {
            this.county = county;
        }
        @XmlElement(name = "Town")
        public String getTown() {
            return town;
        }

        public void setTown(String town) {
            this.town = town;
        }
        @XmlElement(name = "Village")
        public String getVillage() {
            return village;
        }

        public void setVillage(String village) {
            this.village = village;
        }
        @XmlElement(name = "HouseNumber")
        public String getHouseNumber() {
            return houseNumber;
        }

        public void setHouseNumber(String houseNumber) {
            this.houseNumber = houseNumber;
        }
        @XmlElement(name = "GravidityStatus")
        public String getGravidityStatus() {
            return gravidityStatus;
        }

        public void setGravidityStatus(String gravidityStatus) {
            this.gravidityStatus = gravidityStatus;
        }
        @XmlElement(name = "FeedingMode")
        public String getFeedingMode() {
            return feedingMode;
        }

        public void setFeedingMode(String feedingMode) {
            this.feedingMode = feedingMode;
        }

        @XmlElementWrapper(name = "ChildrenList")
        @XmlElement(name = "Children")
        public List<Children> getChildrenList() {
            return childrenList;
        }

        public void setChildrenList(List<Children> childrenList) {
            this.childrenList = childrenList;
        }

        public String getSyncStatus() {
            return syncStatus;
        }

        public void setSyncStatus(String syncStatus) {
            this.syncStatus = syncStatus;
        }

        @XmlElement(name = "MotherHomeAddressCode")
        public String getMotherHomeAddressCode() {
            return motherHomeAddressCode;
        }

        public void setMotherHomeAddressCode(String motherHomeAddressCode) {
            this.motherHomeAddressCode = motherHomeAddressCode;
        }

        @XmlElement(name = "MotherBirthDateTime")
        public String getMotherBirthDateTime() {
            return motherBirthDateTime;
        }

        public void setMotherBirthDateTime(String motherBirthDateTime) {
            this.motherBirthDateTime = motherBirthDateTime;
        }

        @XmlElement(name = "FatherLocationCode")
        public String getFatherLocationCode() {
            return fatherLocationCode;
        }

        public void setFatherLocationCode(String fatherLocationCode) {
            this.fatherLocationCode = fatherLocationCode;
        }

        @XmlElement(name = "FatherHomeAddressCode")
        public String getFatherHomeAddressCode() {
            return fatherHomeAddressCode;
        }

        public void setFatherHomeAddressCode(String fatherHomeAddressCode) {
            this.fatherHomeAddressCode = fatherHomeAddressCode;
        }
    }

    @ToString
    public static class Children {
        private String cId;

        /**
         * 儿童妇幼档案ID
         */
        private String childrenId;
        /**
         * 儿童姓名
         */
        private String childrenName;
        /**
         * 性别
         */
        private String sdSex;
        /**
         * 孕次
         */
        private String gravidity;
        /**
         * 出生日期
         */
        private Date birthDate;
        /**
         *出生-时
         */
        private String birthdayHour;
        /**
         * 出生-分
         */
        private String birthdayMinute;
        /**
         * 证件类型
         */
        private String idCardCode;
        /**
         * 证号号码
         */
        private String idCard;
        /**
         * 身高
         */
        private String height;
        /**
         * 体重
         */
        private String weight;
        /**
         * 头围
         */
        private String headSize;
        /**
         * 分娩方式
         */
        private String deliveryMethod;
        /**
         * 建档时间
         */
        private String systemTime;
        /**
         * 是否高危
         */
        private String isHighRisk;
        private String syncStatus;//0未同步1已同步（已建档） 2跳过同步（已建档）

        @XmlElement(name = "CId")
        public String getcId() {
            return cId;
        }
        public void setcId(String cId) {
            this.cId = cId;
        }
        @XmlElement(name = "ChildrenId")
        public String getChildrenId() {
            return childrenId;
        }

        public void setChildrenId(String childrenId) {
            this.childrenId = childrenId;
        }
        @XmlElement(name = "ChildrenName")
        public String getChildrenName() {
            return childrenName;
        }

        public void setChildrenName(String childrenName) {
            this.childrenName = childrenName;
        }
        @XmlElement(name = "SdSex")
        public String getSdSex() {
            return sdSex;
        }

        public void setSdSex(String sdSex) {
            this.sdSex = sdSex;
        }
        @XmlElement(name = "Gravidity")
        public String getGravidity() {
            return gravidity;
        }

        public void setGravidity(String gravidity) {
            this.gravidity = gravidity;
        }
        @XmlElement(name = "BirthDate")
        public Date getBirthDate() {
            return birthDate;
        }

        public void setBirthDate(Date birthDate) {
            this.birthDate = birthDate;
        }
        @XmlElement(name = "BirthdayHour")
        public String getBirthdayHour() {
            return birthdayHour;
        }

        public void setBirthdayHour(String birthdayHour) {
            this.birthdayHour = birthdayHour;
        }
        @XmlElement(name = "BirthdayMinute")
        public String getBirthdayMinute() {
            return birthdayMinute;
        }

        public void setBirthdayMinute(String birthdayMinute) {
            this.birthdayMinute = birthdayMinute;
        }
        @XmlElement(name = "IdCardCode")
        public String getIdCardCode() {
            return idCardCode;
        }

        public void setIdCardCode(String idCardCode) {
            this.idCardCode = idCardCode;
        }
        @XmlElement(name = "IdCard")
        public String getIdCard() {
            return idCard;
        }

        public void setIdCard(String idCard) {
            this.idCard = idCard;
        }
        @XmlElement(name = "Height")
        public String getHeight() {
            return height;
        }

        public void setHeight(String height) {
            this.height = height;
        }
        @XmlElement(name = "Weight")
        public String getWeight() {
            return weight;
        }

        public void setWeight(String weight) {
            this.weight = weight;
        }
        @XmlElement(name = "HeadSize")
        public String getHeadSize() {
            return headSize;
        }

        public void setHeadSize(String headSize) {
            this.headSize = headSize;
        }
        @XmlElement(name = "DeliveryMethod")
        public String getDeliveryMethod() {
            return deliveryMethod;
        }

        public void setDeliveryMethod(String deliveryMethod) {
            this.deliveryMethod = deliveryMethod;
        }
        @XmlElement(name = "SystemTime")
        public String getSystemTime() {
            return systemTime;
        }

        public void setSystemTime(String systemTime) {
            this.systemTime = systemTime;
        }
        @XmlElement(name = "IsHighRisk")
        public String getIsHighRisk() {
            return isHighRisk;
        }

        public void setIsHighRisk(String isHighRisk) {
            this.isHighRisk = isHighRisk;
        }

        public String getSyncStatus() {
            return syncStatus;
        }

        public void setSyncStatus(String syncStatus) {
            this.syncStatus = syncStatus;
        }


    }
}
